home *** CD-ROM | disk | FTP | other *** search
- /* Name: Object Demo
- ** Author: Paul Manias
- ** Copyright: DreamWorld Productions (c) 1996-1997. Freely distributable.
- **
- ** Opens a screen according to the settings in an object file. See
- ** asm/Objects/OBJScreen.s for the object definitions.
- */
-
- MODULE 'dpkernel','gms/dpkernel','graphics/pictures','files/files'
- MODULE 'screens','system/register','system/modules','graphics/screens'
-
- PROC main()
- DEF screen=NIL:PTR TO screen, picture=NIL:PTR TO picture, objbase=NIL:LONG
- DEF objfile:filename, scrmodule=NIL:PTR TO module
-
- objfile := [ ID_FILENAME, 'GMS:demos/data/OBJ.Screen']:filename
-
- IF dpkbase := OpenLibrary('GMS:libs/dpkernel.library',0)
- SetUserPrefs(0);
-
- IF (scrmodule := Init([TAGS_MODULE,NIL,
- MODA_NUMBER, MOD_SCREENS,
- MODA_TABLETYPE, JMP_AMIGAE,
- TAGEND], NIL))
-
- scrbase := scrmodule.modbase
-
- IF (objbase := Load(objfile,ID_OBJECTBASE))
- IF (picture := GetFileObject(objbase,'Picture'))
- IF (Init(picture,NIL))
- IF (screen := Get(ID_SCREEN))
- CopyStructure(picture,screen)
- screen.memptr1 := picture.data
- screen.attrib := CENTRE
-
- IF (Init(screen,NIL))
- Display(screen)
- WaitLMB()
- Free(screen)
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- Free(picture)
- Free(objbase)
- Free(scrmodule)
- CloseDPK()
- ENDIF
- ENDPROC
-
-